package com.example.BlockChain.service;

import com.example.BlockChain.entity.TChainData;

import java.util.List;

public interface BlockService {

    public List<TChainData> getAllOrders(String address);

    public List<String> getMerchantOrder(int type);

    public List<TChainData> getConOrder(String code);

    public void updateOperationType5(String orderid);

    public void updateOperationType4(String orderid);

    /**
     * 根据订单类型和店铺名获取订单
     *
     * @param type      订单类型（new, in-progress, history, all）
     * @return 符合条件的订单列表
     */
    public List<TChainData> getDeliveryOrdersByType(String type);

    public List<TChainData> getMerandDelOrders(String code);//获取商家与配送员信息

    public List<TChainData> getThreeOrders(String code);//获取三条订单记录，生成最终订单

    /**
     * 根据订单类型和店铺名获取订单
     *
     * @param storeName 店铺名
     * @param type      订单类型（new, in-progress, history, all）
     * @return 符合条件的订单列表
     */
    List<TChainData> getOrdersByTypeAndStore(String storeName, String type);

    /**
     * 商家接单逻辑
     * @param orderId 订单ID（溯源码）
     */
    void merchantAcceptOrder(String orderId);

    /**
     * 更商家新区块链操作类型
     *
     * @param orderId 订单ID
     * @param operationType 操作类型（3：商家完成订单）
     * @return 更新成功的行数
     */
    int updateOperationType3(String orderId, int operationType);

}
